It is known in the data processing arts to couple a wide assortment of input and output devices to a data processing system for the purpose of providing an appropriate human interface. Such devices may take the form of keyboards of varying manufacture, "mice", touch-pads, joy-sticks, light pens, video screens, audio-visual signals, printers, etc.
Due to the wide variety of I/O devices which can be utilized in the human/computer interface, it would be very desirable to isolate the human interface software from specific device types. The I/O should be independent of any particular "real" devices.
There is thus a need for a computer human interface which performs I/O operations in an abstract sense, independent of particular "real" devices.